#ifndef PQUEUE_H_
#define PQUEUE_H_

typedef struct queueCDT* queueADT;

queueADT openPQueue(int tam);

//se fija si la cola esta vacia
int isEmpty(queueADT queue);

//agrega un elemento a la cola
void addElem(queueADT queue, void * elem);

//busca y saca el primer elemento de la cola
// el elemento sacado debe ser liberado por el usuario con free
void * getElem(queueADT queue);

//busca el primer elemento pero no lo saca de la cola
// el elemento sacado debe ser liberado por el usuario con free
void * checkFirst(queueADT queue);

void freePQueue(queueADT queue);

#endif /* PQUEUE_H_ */
